距离度量 | 您所在的位置:网站首页 › numpy 欧几里得距离 › 距离度量 |
特征空间中两个实例点的距离是两个实例点相似程度的反映。可以用 L p L_p Lp distance来度量两个实例点的距离: L p ( x i , x j ) = ( ∑ l = 1 n ∣ x i ( l ) − x j ( l ) ∣ p ) ) 1 p L_p(x_i, x_j) = \left( \sum_{l=1}^{n} \left| x_i^{(l)} - x_j^{(l)} \right|^{p} ) \right )^{\frac{1}{p}} Lp(xi,xj)=(l=1∑n∣∣∣xi(l)−xj(l)∣∣∣p))p1 这里 p ≥ 1 p≥1 p≥1。 当 p = 1 p=1 p=1 时,称为曼哈顿距离;当 p = 2 p=2 p=2 时,称为欧式距离;当 p = ∞ p=\infty p=∞ 时,称为切比雪夫距离。它是各个坐标距离的最大值。Python 中的 numpy 库可以很方便地计算两点(x1, x2)的距离,使用 numpy 中求范数的方法 np.linalg.norm() 实现: np.linalg.norm(x1-x2, ord=None, axis=None, keepdims=False)注: 度量(metric)是对一个集合里面的两个元素而言的,是两点间距离的抽象。 范数(norm)是对一个元素而言的,是实数的绝对值或复数的模这样的长度的抽象。 其中各参数分别为(需要更改的是前两个): x1-x2:两个点(向量)各个维度上的差 ord:求哪一种距离,对应 p p p,默认为 2axis:取值 0 或 1,0 表示按列向量处理,求多个列向量的范数。默认为 0keepding:是否保持矩阵的二维特性,默认为 False |
CopyRight 2018-2019 实验室设备网 版权所有 |